#include "DirLaser.h"


DirLaser::DirLaser(COORD d, int x, int y):Laser(x, y){
	this->increment = d;
}

bool DirLaser::moveLaser(){
	if( (int)conf.ui.getCharXY(this->coord.getPositionX(), this->coord.getPositionY()) == 60 )
		this->removeLaser();
	if( (this->coord.getPositionX()+this->increment.X <= conf.getCadreJeu().cd) ||
		(this->coord.getPositionX()+this->increment.X >= conf.getCadreJeu().cf) ||
		(this->coord.getPositionY()+this->increment.Y <= conf.getCadreJeu().ld) ||
		(this->coord.getPositionY()+this->increment.Y >= conf.getCadreJeu().lf) )
		return false;
	this->coord.setPositionY(this->coord.getPositionY() + this->increment.Y);
	this->coord.setPositionX(this->coord.getPositionX() + this->increment.X);
	if((int)conf.ui.getCharXY(this->coord.getPositionX(), this->coord.getPositionY()) == 32)
		this->putLaser();
	return true;
}

void DirLaser::putLaser()
{	
	coord.gotoxy(coord.getPositionX(),coord.getPositionY());
	cout<<(char)CHAR_LASER;
}
